package com.itheima.dubbo.web;

import com.itheima.dubbo.HelloFace;
import com.itheima.dubbo.pojo.User;
import org.apache.dubbo.config.annotation.DubboReference;
import org.apache.dubbo.rpc.RpcContext;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @authar by xiecong
 * @Date 2022/3/26
 * @Description
 *配置优先级问题：
 *          相同级别：消费方 > 服务方
 *          不同同级别：方法>接口>通用
 *配置原则设计目的：
 *         1.先配置服务提供方配置
 *         2.若提供方配置在消费方不满足使用，则可以在消费方优化
 */
@RestController
public class HelloController {

//    @DubboReference(timeout = 3000)
    @DubboReference(version = "2.0.0")
    HelloFace helloFace;

    @GetMapping("hello")
    public String hello(String name){

        RpcContext.getContext().setAttachment("jwt","weqweqwedvsdas");

        return helloFace.hello(name);
    }
    @GetMapping("user")
    public User findByUsername(String username) {
        return helloFace.findByUsername(username);
    }
}
